Apparatus and method for a power control in a system using an embedded CPU

ABSTRACT

A portable communication apparatus is configured to perform a method for a power control of a Central Processing Unit (CPU) in a portable communication apparatus. The portable communication apparatus for a power control of the CPU includes a CPU for reporting an operation status of the CPU. The CPU is configured to change a power control level according to a control of an overhead determiner by using a pin and the overhead determiner for determining an overhead of the CPU by using the pin and for controlling the power control level of the CPU according to the overhead of the CPU.

CROSS REFERENCE TO RELATED APPLICATION(S) AND CLAIM OF PRIORITY

The present application is related to and claims the benefit of priority under 35 U.S.C. §119(a) to a Korean patent application filed in the Korean Intellectual Property Office on Oct. 15, 2008 and assigned Serial No. 10-2008-0101088, the entire disclosure of which is hereby incorporated by reference.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to an apparatus and a method for a system using an embedded Central Processing Unit (CPU), and more particularly, to an apparatus and a method for a power control in a system using the embedded CPU.

BACKGROUND OF THE INVENTION

A long battery life is important for current portable communication apparatuses. Thus, research is conducted for increasing a battery capacity and for low power consumption in order to extend the battery life of the portable communication apparatuses.

An embedded system used in the portable communication apparatus is almost a software based system. Current consumptions of a Central Processing Unit (CPU), which executes the software, and a memory are relatively important in the portable communication apparatus.

Therefore, the portable communication apparatus dynamically controls current during an operation of the CPU in order to reduce current consumption of the embedded system, i.e., when the CPU is in standby mode, the portable communication apparatus reduces the current consumption by lowering a clock of the CPU.

Meanwhile, when the CPU is in the operation mode, the portable communication apparatus provides a current to the CPU in order to supply the clock normally. The portable communication apparatus may minimize the current in the embedded system by using a dynamic clock scaling and a dynamic voltage scaling.

That is, the portable communication apparatus supplies a high clock or a high voltage when the portable communication apparatus operates fast and the portable communication apparatus supplies a low clock or a low voltage when the portable communication apparatus operates slowly. By doing this procedure, the portable communication apparatus may minimize power consumption.

As set for above, the portable communication apparatus is required to determine an overhead of the system exactly in order to reduce the power consumption. Thus, a technology is required to determine the overhead of the system exactly and to control the power consumption according to the determination.

SUMMARY OF THE INVENTION

To address the above-discussed deficiencies of the prior art, it is a primary aspect of the present invention to provide an apparatus and a method for a power control in a system using an embedded CPU.

Another aspect of the present invention is to provide an apparatus and a method for a power control by considering an overhead of an embedded CPU in a system using the embedded CPU.

Yet another aspect of the present invention is to provide an apparatus and a method for a power control in phases by considering an overhead of an embedded CPU in a system using the embedded CPU.

Still yet another aspect of the present invention is to provide an apparatus and a method for a power control by considering an overhead of an embedded CPU in a portable communication apparatus using the embedded CPU

In accordance with another aspect of the present invention, a method for a power control of a Central Processing Unit (CPU) in a portable communication apparatus is provided. The method for a power control of a CPU in a portable communication apparatus includes comparing a time of a CPU for operating in operation mode continuously with a maximum operation time of the CPU when a clock occurs, determining whether an overhead determination period of the CPU to be arrived when the time of the CPU for operating in operation mode continuously is shorter than the maximum operation time of the CPU, determining an overhead of the CPU when the overhead determination period of the CPU is arrived and changing a power control level according to the overhead of the CPU.

In accordance with an aspect of the present invention, the portable communication apparatus for a power control of a CPU is provided. The portable communication apparatus for a power control of the CPU includes a CPU configured to report an operation status of the CPU and changing a power control level according to a control of an overhead determiner by using a pin and the overhead determiner for determining an overhead of the CPU by using the pin and configured to control the power control level of the CPU according to the overhead of the CPU.

Before undertaking the DETAILED DESCRIPTION OF THE INVENTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or,” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any apparatus, system or part thereof that controls at least one operation, such a apparatus may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:

FIG. 1 illustrates an internal system structure of a portable communication apparatus according to an exemplary embodiment of the present invention;

FIG. 2 illustrates an internal system structure of an overhead determiner in a portable communication apparatus according to an exemplary embodiment of the present invention;

FIG. 3 illustrates an operation method of a counter included in an overhead determiner according to an exemplary embodiment of the present invention; and,

FIG. 4 illustrates a flowchart for determining an overhead of a CPU in a portable communication apparatus according to an exemplary embodiment of the present invention.

Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.

DETAILED DESCRIPTION OF THE INVENTION

FIGS. 1 through 4, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged wireless communication system.

Hereinafter, an apparatus and method for a power control by considering an overhead of an embedded CPU in a system using the embedded CPU will be described.

The present invention assumes the power control by considering the overhead of the embedded CPU in the system using the embedded CPU in a portable communication terminal. Herein, an internal system structure of the portable communication apparatus is illustrated as FIG. 1.

FIG. 1 illustrates an internal system structure of a portable communication apparatus according to an exemplary embodiment of the present invention.

Referring to FIG. 1, the internal system in the portable terminal comprises a CPU 100, a status determination pin 110, a CPU bus 120, an overhead determiner 130 and an interrupt controller 150. Herein, the CPU 100 may be comprised as an embedded CPU.

The CPU 100 notifies an operation status of the CPU 100 to the overhead determiner 130 through the status determination pin 110. Also, the CPU 100 controls the overhead determiner 130 through the CPU bus 120 or determines an operation status of the overhead determiner 130 through the CPU bus 120.

The overhead determiner 130 can determine an overhead of the CPU 100 per a fixed clock 140 according to the fixed clock 140. Herein, the overhead determiner 130 determines whether to change a power of the CPU 100 by considering the overhead of the CPU 100.

When the power of the CPU 100 is changed, the overhead determiner 130 can transmit power change time point information to the interrupt controller 150 using an interrupt 170, i.e., when the power of the CPU 100 is changed, the overhead determiner 130 transmits the interrupt 170 to the interrupt controller 150. Hereafter, the interrupt controller 150 transmits the power change time point information to the CPU 100 using an interrupt 180. The CPU 100 performs a clock change operation or a voltage change operation in the determined power change time point determined by using the interrupt 180. The overhead determiner 130 is illustrated in FIG. 2

FIG. 2 illustrates an internal system structure of an overhead determiner in a portable communication apparatus according to an exemplary embodiment of the present invention.

Referring to FIG. 2, the overhead determiner 130 comprises a counter_1 210, a counter 2_220, a counter 3_230, a controller 240 and a status determination pin 250. Herein, the counter 1_210, a counter_2 220 and counter_3 230 operate according to a fixed clock 260.

The counter 1_210 provides period information for determining, by the overhead determiner 130, the overhead of the CPU 100 through a counting value according to the fixed clock 260. Thus, the counting value of the counter_1 210 is initialized per a period for determining, by the overhead determiner 130, the overhead of the CPU 100.

The counter_2 220 receives an input, provided from the status determination pin 250, at a switch and determines an operation status of the CPU 100. The counter_2 220 performs a counting only when the status of the CPU 100 is in standby mode. Herein, the counter_2 220 initializes a counting value together when a counting value of the counter_1 210 is initialized.

The counter_3 230 can receive inverted information of an input at a switch and operates using the inverted information. Thus, the counter_3 230 performs a counting when the status of the CPU 100 is in operation mode according to an input of a status determination pin 250. Herein, the counter_3 230 initialize a counting value when the operation status of the CPU 100 is in standby mode.

The controller 240 can determine the overhead of the CPU 100 by considering the counting values provided from the counter_1 210, the counter_2 220 and the counter_3 230. Herein, the controller 240 determines whether to change the power of the CPU 100 by considering the overhead of the CPU 100.

When the change of the power of the CPU 100 is determined, the controller 240 generates an interrupt 270 and transmits the interrupt 270 to the CPU 100, i.e., the counter_1210, the counter_2 220 and the counter_3 230 operates as FIG. 3

FIG. 3 illustrates an operation method of a counter included in an overhead determiner according to an exemplary embodiment of the present invention.

Referring to FIG. 3, a counter_1 320 can determine a determination period (T_(c)) 350 by counting according to a fixed clock 310, i.e., when the determination period (T_(c)) 350 is set to ‘12 ’, the controller 240 determines an overhead determination period of the CPU 100 is arrived and determines the overhead of the CPU 100 when a counting value of the counter_1 320 is set to ‘12 ’. Herein, the counter_1 320 initializes the counting value when the counting value of the counter_1 320 is ‘12’.

The counter_2 330 can perform a counting according to the operation status information provided from a status determination pin 300, i.e., the counter_2 330 can perform counting only when the CPU 100 is in standby mode. Herein, the counter_2 330 initializes a counting value of the counter_2 330 when the counter_1 320 initializes the counting value of the counter 1 320.

The counter_3 340 can performs counting only when the status of the CPU 100 is in operation mode in order to determine a maximum operation time 360. When a counting value of the counter_3 340 is longer than the maximum operation time 360, the controller 240 can determine that the overhead of the CPU 100 is increased instantly and generates an interrupt 380 for the CPU 100 to transit a maximum current level. The counter_3 340 initializes the counting value of the counter_3 340 when the CPU 100 is not in operation mode.

As set for above, the controller 240 can determine the overhead of the CPU 100 when the counting value of the counter_1 320 denotes an arrival of the overhead determination period. Herein, the controller 240 may determine the overhead of the CPU 100 by using Equation 1:

$\begin{matrix} {L = {\left( \frac{T_{c} - N_{{c\_}2}}{T_{c}} \right) \times 100}} & \left\lbrack {{Eqn}.\mspace{14mu} 1} \right\rbrack \end{matrix}$

In Equation 1, the L denotes the overhead of the CPU 100 and the T_(c) denotes a period to determine the overhead of the CPU 100. The N_(c) _(—) ₂ denotes the counting value of the counter_2 330.

The controller 240 can determine a power control level of the CPU 100 according to the overhead of the CPU 100 per the determination period (T_(c)) 350, i.e., the controller 240 can define the power control level of the CPU 100 according to a pattern of a communication modem terminal below.

Level 1: a status which has almost no traffic Hyper Text Transfer Protocol (HTTP) communication.

Level 2: watch a low bit rated Video On Demand (VOD)/a simplex File Transfer Protocol (FTP).

Level 3: a duplex FTP communication (FTP Up/Down)/watch a high bit rated VOD.

Level 4: a case that much calculation may be required as a network entry/a maximim traffic communication.

A condition for the CPU 100 to transit the power control level can depend upon a performance of a communication modem. That is, a condition of the CPU 100 to step up/down the power control level can depend on the performance of the communication modem.

According to this, the controller 240 can be required to find a transition condition variable for the power control level of the CPU 100 according to the performance of the communication modem, i.e., in the case of the communication modem terminal, a user of the communication modem terminal uses a web browsing using a HTTP. Thus, the controller 240 can define a use pattern for using the web browsing to be the level 1 and sets the use pattern as the transition condition.

The controller 240 can determine a traffic quantity for a use pattern of the communication modem in order to determine a transition condition variable for the power control level corresponding to the communication modem.

Thereafter, the controller 240 can determine the transition condition variable for the power control level by determining the overhead of the CPU 100 corresponding to the determined traffic quantity. That is, when the communication traffic is increased, a share rate of the CPU 100 is increasing. Thus, the controller 240 can define the power control level of the CPU 100 according to the traffic quantity.

Meanwhile, the share rate of the CPU 100 may increase according to auxiliary processes such as an authentication, a handover and a network entry. Herein, the CPU 100 should complete the auxiliary processes within a specific time. Thus, the controller 240 defines a processing duration for the auxiliary processes in the CPU 100. The processing duration will be referred as a timing critical section.

When the controller 240 transits to the timing critical section, the controller 240 sets a CRITICAL_SECTION Flag and transits the CPU 100 to a maximum current level. Also, the controller 240 stops a level shift of the overhead determiner 130 for a power control. When the timing critical section is finished, the controller 240 resets the CRITICAL_SECTION Flag and grants the level shift of the overhead determiner 130.

According to this, a processing time of the CPU 100 in the timing critical section may be guaranteed. Herein, the CRITICAL_SECTION Flag is defined as a variable or a register.

A low level with a small level value in the power control level which is defined by the controller 240 denotes a frequency or a voltage is low and the low level is used when the share rate of the CPU is low.

When the controller 240 shifts the power level of the CPU 100 from a low level to a high level, the controller 240 shifts the power level of the CPU to the highest level. That is, because the controller 240 may not determine an exact power requirement of the CPU 100, the controller may determine an adequate level after supplying a maximum power to the CPU 100.

When the controller 240 lowers the power level of the CPU 100, the controller 240 does not lower the power level of the CPU 100 directly when a condition is satisfied. The controller 240 lowers the power level of the CPU 100 after a specific protection time in order to detect a pattern of the CPU 100.

That is, when the pattern is maintained for the specific protection time, the controller 240 estimates the CPU 100 to be used continuously according to the pattern and the controller 240 controls the power control level of the CPU 100 to be lowered.

Hereafter, a description for controlling the power level of the CPU 100 according to the overhead of the CPU 100 in the controller 240 of the overhead determiner 130 will be disclosed.

FIG. 4 illustrates a flowchart for determining an overhead of a CPU in a portable communication apparatus according to an exemplary embodiment of the present invention.

Referring to FIG. 4, the controller 240 can determine whether a clock to be generated in step 403, i.e., the controller 240 determines whether a fixed clock to be generated. When the clock is not generated, the controller 240 can determine substantially continuously whether the clock to be generated in the step 403.

When the clock is generated, the controller 240 can compare the counting value of the counter 3 340 with the maximum operation time 360 in step 405.

When the counting value of the counter 3 340 is longer than or equal to the maximum operation time 360, the controller 240 determines the overhead of CPU 100 to be increased instantly. In this example, the controller 240 generates an interrupt for the CPU 100 to transit a maximum current level in step 409.

Hereafter, the controller 240 can determine the counting value of the counter_1 320 to be identical to the determination period 350 in step 407.

When the counting value of the counter_3 340 is shorter than the maximum operation time 360 in the step 405, the controller 240 can determine the counting value of the counter_1 320 to be identical to the determination period 350 in step 407.

When the counting value of the counter_1 320 is not identical to the determination period 350, the controller 240 returns to the step 403.

When the counting value of the counter_1 320 is identical to the determination period 350, the controller 240 determines the overhead of the CPU 100 in step 411, i.e., the controller 240 can determine the overhead of the CPU 100 using the Equation 1. At this time, the controller 240 resets the counting values of the counter_1 320 and the counter_2 330.

The controller 240 determines that the CPU 100 transits to a timing determination section in step 413 after determining the overhead of the CPU 100 in step 411.

When the CPU 100 transits to the timing determination section in step 413, the controller 240 finishes processes without granting a voltage level change.

When the CPU 100 does not transit to the timing determination section in step 413, the controller 240 determines whether the overhead of the CPU 100 which is determined in step 411 to satisfy a condition for transiting the CPU 100 to a higher level in step 415.

When the overhead of the CPU 100 satisfies the condition for transiting the CPU 100 to the higher level, the controller 240 generates an interrupt for the CPU 100 to transit to the maximum current level in step 417. Also, the controller 240 updates up/down conditions of corresponding levels to maximum values each. Herein, the up condition of the corresponding level denotes a condition for transiting to a higher level and the down condition of the corresponding level denotes a condition for transiting to a lower level.

Hereafter, the controller 240 finishes processes.

When the overhead of the CPU 100 does not satisfy the condition for transiting the CPU 100 to the higher level in step 415, the controller 240 can determine whether the overhead of the CPU 100 to satisfy the condition for transiting the CPU 100 to the lower level in step 419.

When the overhead of the CPU 100 satisfies the condition for transiting the CPU 100 to the lower level, the controller 240 can update a counter to transits the CPU 100 to the lower level in step 421.

Hereafter, the controller 240 can determine a counting value of the counter to transits the CPU 100 to the lower level is identical to a maximum counting value out of counting values which satisfies a condition for transiting the CPU 100 to the lower level in step 425.

When the counting value of the counter to transits the CPU 100 to the lower level is identical to the maximum counting value out of counting values which satisfies the condition for transiting the CPU 100 to the lower level in step 425, the controller 240 can generate an interrupt to lower the level of the CPU 100 in step 427.

Hereafter, the controller 240 can reset the counter to transit the CPU 100 to the lower level. Also, the controller 240 can update levels, corresponding to the up/down conditions, to desired levels each. Hereafter, the controller 240 finishes processes.

When the condition for transiting the CPU 100 to the lower level is not satisfied in step 419, the controller 240 can reset the counter to transit the CPU 100 to the lower level in step 423. Hereafter, the controller 240 finishes processes.

The counter to transit the CPU 100 to the lower level is activated in order to detect a use pattern of the CPU 100 when the condition to transit the CPU 100 to the lower level is satisfied. That is, when the pattern is maintained for a specific time, the controller 240 expects the CPU 100 to be used continuously according to the use pattern and the controller 240 controls the power control level of the CPU 100 to be lowered.

The overhead determiner 130 can be implemented as software and an operation method of a software based overhead determiner is identical to that of the overhead determiner 130.

Also, the counters 210, 220 and 230 included, in the overhead determiner 130, can be implemented by using timers; and the counters 210, 220 and 230 can be used for operations to determine each level.

As set for above, the present invention has an advantage for implementing an efficient low power consumption system with a power control in phase by considering an overhead of an embedded CPU in a system using the embedded CPU.

Although the present disclosure has been described with an exemplary embodiment, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims. 

1. A method for a power control of a Central Processing Unit (CPU) in a portable communication apparatus, the method comprising; comparing a time of a CPU for operating in operation mode continuously with a maximum operation time of the CPU when a clock occurs; determining whether an overhead determination period of the CPU to be arrived when the time of the CPU for operating in operation mode continuously is shorter than the maximum operation time of the CPU; determining an overhead of the CPU when the overhead determination period of the CPU is arrived; and, changing a power control level according to the overhead of the CPU.
 2. The method of claim 1, further comprising; activating a 1^(st) counter for determining the overhead determination period of the CPU when the clock occurs; determining the overhead determination period of the CPU by considering a counting value of the 1^(st) counter; and, wherein the counting value of the 1^(st) counter is initialized when the overhead determination period of the CPU is arrived.
 3. The method of claim 1, wherein in the step of comparing the time of the CPU for operating in operation mode continuously with the maximum operation time of the CPU comprising; determining a counting value of a 3rd counter which counts only when the CPU operates in operation mode; comparing a the counting value of the 3rd counter with the maximum operation time of the CPU; and, wherein the 3rd counter initializing the counting value of the 3rd counter when the CPU operates in standby mode.
 4. The method of claim 1, further comprising; raising the power control level of the CPU to a maximum level when the time of the CPU for operating in operation mode continuously is longer than or equal to the maximum operation time of the CPU; and, determining whether the overhead determination period of the CPU to be arrived after raising the power control level of the CPU to the maximum level.
 5. The method of claim 1, wherein the step of determining the overhead of the CPU comprising; when the overhead determination period of the CPU is arrived, determining a counting value of a 2^(nd) counter which counts only when the CPU operates in operation mode; determining the overhead of the CPU by using a counting value of the 1^(st) counter and the counting value of the 2^(nd) counter; and, wherein the 2^(nd) counter initializes the counting value of the 2^(nd) counter when the overhead determination period of the CPU is arrived.
 6. The method of claim 1, wherein the step of changing the power control level comprising; generating an interrupt signal for reporting a change of the power control level to the CPU upon changing the power control level according to the overhead of the CPU.
 7. The method of claim 1, wherein the step of changing the power control level comprising; maximizing the power control level of the CPU when the overhead of the CPU satisfies a condition for the power control level raising.
 8. The method of claim 1, wherein the step of changing the power control level comprising; determining whether a condition for the power control level lowering to be satisfied for a reference time when the overhead of the CPU satisfies the condition for the power control level lowering; and, lowering the power control level of the CPU by 1 step when the condition for the power level lowering is satisfied for the reference time.
 9. The method of claim 1, further comprising; determining whether an auxiliary process period to be arrived, the auxiliary process configured for the CPU to process an auxiliary process except a traffic process; and finishing a procedure for changing the power control level when the auxiliary process period is arrived.
 10. The method of claim 1, wherein the power control level is determined according to a use pattern of the portable communication apparatus.
 11. A portable communication apparatus for a power control of a Central Processing Unit (CPU), the portable communication apparatus comprising; a CPU configured to report an operation status of the CPU, where the CPU further is configured to change a power control level according to a control of an overhead determiner by using a pin; and, the overhead determiner configured to determine an overhead of the CPU by using the pin, wherein the overhead determiner further is configured to control the power control level of the CPU according to the overhead of the CPU.
 12. The portable communication apparatus of claim 11, wherein the overhead determiner uses a fixed clock.
 13. The portable communication apparatus of claim 11, the overhead determiner comprising; a 1^(st) counter configured to determine an overhead determination period of the CPU; a 2^(nd) counter configured to count only when the CPU operates in standby mode; a 3^(rd) counter configured to count only when the CPU operates in operation mode; a controller configured to determine the overhead of the CPU by using a counting value of the 1^(st) counter, a counting value of the 2^(nd) counter and a counting value of the 3^(rd) counter, wherein the controller further is configured to control the power control level of the CPU according to the overhead; wherein the 1^(st) counter and the 2^(nd) counter initialize counting values of the 1^(st) counter and the 2^(nd) counter when the overhead determination period of the CPU is arrived; and, wherein the 3^(rd) counter initializes the counting value of the 3^(rd) counter when the CPU operates in standby mode.
 14. The portable communication apparatus of claim 13, wherein the controller is configured to raise the power control level to a maximum level when the counting value of the 3rd counter is longer than or equal to a maximum operation time of the CPU.
 15. The portable communication apparatus of claim 13, wherein the controller is configured to determine the overhead determination period of the CPU by considering the counting value of the 1^(st) counter.
 16. The portable communication apparatus of claim 13, wherein the controller si configured to determine the overhead of the CPU by using the counting value of the 1^(st) counter and the counting value of the 2^(nd) counter when the controller determines the overhead determination period of the CPU is arrived by using the counting value of the 1^(st) counter.
 17. The portable communication apparatus of claim 13, wherein the controller configured to raise the power control level of the CPU to a maximum level when the overhead of the CPU satisfies a condition for the power level raising.
 18. The portable communication apparatus of claim 13, wherein the controller is configured to lower the power control level of the CPU by 1 step when the overhead of the CPU satisfies a condition for a power level lowering for a reference time.
 19. The portable communication apparatus of claim 13, wherein the controller is configured to finish a procedure for changing the power control level when an auxiliary process period, which is configured for the CPU to process an auxiliary process except a traffic process, is arrived.
 20. The portable communication apparatus of claim 13, wherein the controller configured to generate an interrupt signal for reporting a change of the power control level to the CPU when the controller changes the power control level according to the overhead of the CPU. 